-- @owner: zou_jialiang050
-- @date: 2024-15-06
-- @testpoint: 存储过程中使用

--step1:建表;expect:成功
drop sequence if exists seq_ustore_regr_sxx_027 cascade;
create sequence seq_ustore_regr_sxx_027 increment by 1 start with 10;
drop table if exists t_ustore_regr_sxx_027 cascade;
create table  t_ustore_regr_sxx_027(
     col_1 integer,
     col_2 number(19,0),
     col_3 number(10,6)
) with (storage_type=ustore);

begin
	for i in 1..50 loop
      insert into t_ustore_regr_sxx_027 values(
	  i,
      seq_ustore_regr_sxx_027.nextval,
	  i+445.255
	  );
    end loop;
end;
/

--step2:存储过程中使用;expect:成功
drop procedure if exists fun_ustore_regr_sxx_027;
create or replace procedure fun_ustore_regr_sxx_027(num int) 
is
 v_lang clob := 'abc';
 sqlstat varchar(10000);
begin
 for i in 1 .. num
 loop
  sqlstat := 'select regr_sxx(col_2,col_2) from t_ustore_regr_sxx_027 order by 1';
  execute immediate sqlstat;
 end loop;
end;
/
call fun_ustore_regr_sxx_027(1);

--step3:清理环境;expect:成功
drop sequence if exists seq_ustore_regr_sxx_027 cascade;
drop procedure if exists fun_ustore_regr_sxx_027;
drop table if exists t_ustore_regr_sxx_027 cascade;